package com.cskaoyan.util;

import com.cskaoyan.bean.BaseRespVo;
import com.cskaoyan.exception.ValidationException;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;

/**
 * @author stone
 * @date 2022/05/07 10:12
 */
public class ValidationUtil {
    public static BaseRespVo valid(BindingResult bindingResult) {
        // 拿到成员变量的错误
        FieldError fieldError = bindingResult.getFieldError();
        // 不合法的值是什么
        Object rejectedValue = fieldError.getRejectedValue();
        // 成员变量名 → 请求参数名
        String field = fieldError.getField();
        // 默认的消息
        String defaultMessage = fieldError.getDefaultMessage();
        String msg = "请求参数" + field + "因为传入了值" + rejectedValue + "没有通过校验：" + defaultMessage;
        return BaseRespVo.invalidParameter(msg);
    }
    public static void valid2(BindingResult bindingResult) throws ValidationException {
        if (bindingResult.hasErrors()) {
            // 拿到成员变量的错误
            FieldError fieldError = bindingResult.getFieldError();
            // 不合法的值是什么
            Object rejectedValue = fieldError.getRejectedValue();
            // 成员变量名 → 请求参数名
            String field = fieldError.getField();
            // 默认的消息
            String defaultMessage = fieldError.getDefaultMessage();
            String msg = "请求参数" + field + "因为传入了值" + rejectedValue + "没有通过校验：" + defaultMessage;
            throw new ValidationException(msg);
        }
    }
}
